package niuke.week3;

/**
 对于一个字符串，我们想通过添加字符的方式使得新的字符串整体变成回文串，但是只能在原串的结尾添加字符，
 请返回在结尾添加的最短字符串。

 给定原字符串A及它的长度n，请返回添加的字符串。保证原串不是回文串。
 */
public class AddCharGetHuiWenChuan {
    public static void main(String[] args) {
        String res = addToPalindrome("abac", 6);
        System.out.println(res);


    }

    public static String addToPalindrome(String str, int n) {
        if(n==1)//只有一个单词
            return str;

        StringBuilder res = new StringBuilder();
        int j = 0;
        for (int i=0;i<str.length();i++){
            String substring = str.substring(i);
            if(isHuiWen(substring)){//找到是回文串的最后位置
                j=i-1;
                break;
            }
        }

        for (int i = j; i >=0 ; i--) {
            res.append(str.charAt(i));
        }

        return res.toString();

    }

    public static boolean isHuiWen(String str){

        int i=0,j=str.length()-1;

        while (i<j){
            if(str.charAt(i) == str.charAt(j)){
                i++;
                j--;
            }else
                return false;
        }
        return true;
    }
}

